Unity3D自带功能:摄影机 | 您所在的位置:网站首页 › unity 摄像机参数 › Unity3D自带功能:摄影机 |
来源:https://www.jianshu.com/p/35640507f0b9
若内容不全,可点击上述链接查看来源网页,在网页中点击红色双层向下的箭头阅读全文
Unity3D本质上还是个三维游戏引擎,所以其摄影机的概念与我们在三维软件中的概念是相通的。 新建场景之后,系统会自动创建一个MainCamera,这个MainCamera就是我们场景的主摄影机。 主摄影机和场景视图(SceneView)的摄影机角度是不一样的,新人常常在场景视图中对好了正确的摄影机角度,然后点击“运行”,结果发现游戏画面完全不是自己想要的样子。 如果希望将主摄影机对齐我们的场景视图,只需要选择主摄影机物体,然后通过菜单:GameObject;AlignWithView就可以了。这个命令实际上会将所选择的任何物体都与场景摄影机对齐,并不仅限于对齐主摄影机。 这个命令附近的命令也还都蛮有用的,值得记一下快捷键: MoveToView可以将物体移动到当前视角的正中心位置(并不会改变旋转方向),想要把场景某个角落里的物体拿过来,就可以使用这个命令,免得破坏了完美的摄影机角度;AlignViewtoSelected可以将摄影机移动到选择的物体上去,可以用来将场景摄影机与某个场景物体对齐;ToggleActiveState可以激活/取消激活游戏物体,类似于三维软件中的“隐藏”,但实际上跟隐藏不是一回事。摄影机相关参数在游戏中设置多个摄影机是很常见的操作,最主要的功能是将不同“层次”的图像叠加显示给用户。 比如游戏中的UI元素,通常就是用专门的摄影机来渲染显示,只不过在Unity3D中,UI功能是其内置的功能模块,所以无需用户自己去设置UI摄影机。 可以看到场景视图中UI元素所占用的区域在我们实际场景的旁边而且非常巨大(这是因为Unity3D的UI元素1像素对应场景中1单位空间),但在游戏视图中,UI和场景的图像之间是叠加的关系。 如果希望在场景视图中叠加非UI元素,则需要另外添加一个新的摄影机,设置ClearFlags为Depthonly,并将Depth值设置得比MainCamera要大。 我们可以把第二摄影机设置为正交摄影机,也可以单独为其视野内游戏物体设置光照。这里我使用的是聚光灯,避免对主摄影机画面造成影响。 这样我们就可以看到,第二个摄影机中的图像被叠加到主摄影机图像上了。 Unity支持将摄影机的画面作为贴图显示在场景物体表面,比如汽车反光镜的影像,或者监控画面影像等等。具体操作方法如下: 首先在Assets文件夹内创建一个RenderTexture资源,设置其贴图模式(Dimension)、贴图尺寸(Size)、是否使用抗锯齿(Anti-Aliasing)、色彩格式(ColorFormat)等等参数。 然后在场景中创建一个新的摄影机,设置其TargetTexture参数为刚才创建的RenderTexture资源。 最后将这个RenderTexture如同普通贴图一样用在某个Material的颜色通道上,再将这个Material指定给某个场景物体(比如我新建的一个简单Quad面片),我们就能在获得这个摄影机的事实画面了。 摄影及后期特效主要指对摄影机渲染结果进行一些后期处理,以增强画面效果,比如整体画面的校色、加辉光、加模糊等等。 Unity在不同版本中处理摄影机后期特效的方式略有所不同。当前版本主要使用官方插件PostProcessingStack来进行,比起上一版本中直接添加特效Script的方式,要显得简单明了得多。 安装完PostProcessingStack插件之后,就可以为摄影机物体添加一个Post-ProcessingBehaviour的组件,这个组件需要调用一个Profile文件来执行后期特效。 在Assets文件夹中创建一个Post-ProcessingProfile资源,然后将这个资源拖到Inspector面板中Post-ProcessingBehaviour组件上指定给Profile参数。 双击Profile文件,在Inspector中可以看到所有可用的后期效果都被集成在这里了: Fog为DiferredRenderingPath激活雾效,在ForwardRenderingPath下无任何作用 Antialiasing添加画面抗锯齿。同样也是为DiferredRenderingPath所准备,因为ForwardRenderingPath可以激活硬件抗锯齿,但DiferredRenderingPath无法享受这一功能。 AmbientOcclusion相对而言比较廉价的屏幕环境排除效果。 ScreenSpaceReflection可以获得一些屏幕空间的反射,是通过法线来计算的,比单纯材质的反射要多一点细节。 DepthofField激活景深效果,挺常用的。 MotionBlur激活运动模糊效果。 EyeAdaptation可以根据场景亮度来自动调节曝光度,也就是模拟人眼瞳孔自动收缩的视觉效果。场景突然变得很亮时会降低曝光,让玩家看清楚场景画面。 Bloom激活辉光效果 ColorGrading校色,这里提供的选项还蛮专业的。 UserLut色彩匹配。用户可以在PS等其他软件中进行校色工作,然后生成一个LUT图示给Unity,然后Unity就会根据这个LUT图示中的颜色变化来匹配其他软件中的校色效果。 ChromaticAberration模拟一些老旧镜头在边缘有色彩分离、模糊、变形等效果 Grain激活全屏幕的噪点 Vignette激活边缘暗化效果 Dithering 为了保证后期效果得到完美体现,通常要将摄影机和渲染质量设置一下: 摄影机的RenderingPath修改为Deferred取消摄影机AllowMSAA的勾选,Deferred方式下MSAA不起作用勾选上摄影机的AllowHDR的勾选在Quality面板中同样取消掉Anti-Aliasing的设置 |
CopyRight 2018-2019 实验室设备网 版权所有 |